# Create your views here.
from django.template.context import RequestContext,Context
from django.shortcuts import render_to_response, get_object_or_404
from Scope.models import *
from Advertiser.models import *
from Tags.models import TagItem
from BlogJuvenis.models import *
from Galerya.models import *
from Shopping.models import *
from IgrejaMaps.models import *

def homepage(request):
    #Publicidades
    ilhadestaque = Publicidade.objects.filter(ativo__exact='1',tipo__exact='1',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now()).order_by('dataentrada')[:2]
    tijoloevento = Publicidade.objects.filter(ativo__exact='1',tipo__exact='2',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    tijolohumor = Publicidade.objects.filter(ativo__exact='1',tipo__exact='3',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    ilhahumor = Publicidade.objects.filter(ativo__exact='1',tipo__exact='4',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    tijolovideo = Publicidade.objects.filter(ativo__exact='1',tipo__exact='5',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    tijolomusica = Publicidade.objects.filter(ativo__exact='1',tipo__exact='6',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    #Publicidades
    manchete = Noticia.objects.filter(manchete__icontains=1,publicar__icontains=1).order_by('-datapublicacao')[:5]
    #posicao2 = Noticia.objects.filter(nomecategoria__id = 1,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:4]
    posicao2 = Noticia.objects.filter(nomecategoria__id = 1,publicar__icontains=1,manchete__icontains=0, dataevento__gte=datetime.now()).order_by('dataevento')[:4]
    posicao3 = Noticia.objects.filter(nomecategoria__id = 2,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:4]
    galer = Galeria.objects.filter(publicar__icontains=1).order_by('-datapublicacao')[:3]
    posicao4 = Noticia.objects.filter(nomecategoria__id = 3,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    videos = Video.objects.filter(publicar__icontains=1).order_by('-datapublicacao')[:4]
    posicao6 = Noticia.objects.filter(nomecategoria__id = 4,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:4]
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    return render_to_response('Scope/index.html',locals(),context_instance=RequestContext(request))

def noticiainterna(request, slugcategoria, slugnoticia):
    noticias = get_object_or_404(Noticia, nomecategoria__slugcategoria = slugcategoria, slugnoticia=slugnoticia)
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    ilhainternawide = Publicidade.objects.filter(ativo__exact='1',tipo__exact='8',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    objeto = TagItem.objects.filter(object_id=noticias.id)
    if noticiainterna:
        if not request.session.get('noticia_hits_%s' % slugnoticia):
            noticias.hits = noticias.hits + 1
            noticias.save()
            request.session['noticia_hits_%s' % slugcategoria] = True
    return render_to_response('Scope/sub_noticia.html',locals(),context_instance=RequestContext(request))

def categoria(request, slugcategoria):
    categor = Categoria.objects.all()
    return render_to_response('Scope/categoria.html',locals(),context_instance=RequestContext(request))

def ultimas(request):
    noticias = Noticia.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    return render_to_response('Scope/ultimas.html',locals(),context_instance=RequestContext(request))

def videointerna(request, slugvideo):
    videos = get_object_or_404(Video, slugvideo=slugvideo)
    video = Video.objects.all().order_by('-datapublicacao')
    tijolohumor = Publicidade.objects.filter(ativo__exact='1',tipo__exact='3',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]

    if videointerna:
        if not request.session.get('videos_hits_%s' % slugvideo):
            videos.hits = videos.hits + 1
            videos.save()
            request.session['videos_hits_%s' % slugvideo] = True
    return render_to_response('Scope/sub_video.html',locals(),context_instance=RequestContext(request))

def videosPrincipal(request):
    videos = Video.objects.all().order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainterna = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    return render_to_response('Scope/videos.html',locals(),context_instance=RequestContext(request))

def todososblogs(request):
    nomedoblog = Blog.objects.filter(ativo__icontains=1).order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    return render_to_response('Scope/blogs.html',locals(),context_instance=RequestContext(request))

def blog(request, slugdoblog):
    blogsnome = get_object_or_404(Blog, slugdoblog=slugdoblog)
    noticiasdoblog = NoticiaBlog.objects.filter(nomedoblog=blogsnome).order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainterna = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    if blog:
        if not request.session.get('blog_cliques_%s' % slugdoblog):
            blogsnome.cliques = blogsnome.cliques + 1
            blogsnome.save()
            request.session['blog_cliques_%s' % slugdoblog] = True
    return render_to_response('Scope/blog.html',locals(),context_instance=RequestContext(request))

def blognoticia(request, slug, nomedoblog):
    noticiadoblog = get_object_or_404(NoticiaBlog, slug=slug)
    blognome = get_object_or_404(Blog, slugdoblog = nomedoblog)
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    objeto = TagItem.objects.filter(object_id=noticiadoblog.id)
    if blognoticia:
        if not request.session.get('noticia_cliques_%s' % slug):
            noticiadoblog.cliques = noticiadoblog.cliques + 1
            noticiadoblog.save()
            request.session['noticia_cliques_%s' % slug] = True
    return render_to_response('Scope/blognoticia.html', locals(),context_instance=RequestContext(request))

def biblia(request):
    publicidade = Publicidade.objects.filter(dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())
    return render_to_response('Scope/sub_blog.html',locals(),context_instance=RequestContext(request))

def download(request):
    listadownload = Noticia.objects.filter(nomecategoria__id = 3,publicar__icontains=1).order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 7,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    return render_to_response('Scope/downloads.html',locals(),context_instance=RequestContext(request))

def evento(request):
    listaevento = Noticia.objects.filter(nomecategoria__id = 1,publicar__icontains=1).order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    return render_to_response('Scope/eventos.html',locals(),context_instance=RequestContext(request))

def artigo(request):
    listaartigo = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1).order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    return render_to_response('Scope/artigos.html',locals(),context_instance=RequestContext(request))

def musica(request):
    listamusica = Noticia.objects.filter(nomecategoria__id = 4,publicar__icontains=1).order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    return render_to_response('Scope/musicas.html',locals(),context_instance=RequestContext(request))

def humor(request):
    listahumor = Noticia.objects.filter(nomecategoria__id = 2,publicar__icontains=1).order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    return render_to_response('Scope/humor.html',locals(),context_instance=RequestContext(request))

def todasasfotos(request):
    listagaleria = Galeria.objects.filter(publicar__icontains=1).order_by('-datapublicacao')
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    return render_to_response('Scope/fotos.html',locals(),context_instance=RequestContext(request))

def galeria(request, sluggaleria):
    lista = get_object_or_404(Galeria, sluggaleria=sluggaleria)
    imagens = Imagem.objects.filter(nomeGaleria=lista)
    if galeria:
        if not request.session.get('lista_cliques_%s' % sluggaleria):
            lista.cliques = lista.cliques + 1
            lista.save()
            request.session['lista_cliques_%s' % sluggaleria] = True
    return render_to_response('Scope/sub_foto.html',locals(),context_instance=RequestContext(request))

def todososprodutos(request):
    listaprodutos = Produto.objects.all().order_by('-dataentrada')
    return render_to_response('Scope/shop.html',locals(),context_instance=RequestContext(request))

#def produto(request, slugproduto):
#    lista = Produto.objects.get(slugproduto=slugproduto)
#    return render_to_response('Scope/sub_shop.html',locals(),context_instance=RequestContext(request))

def produto(request, slugcategoria, slugproduto):
    lista = get_object_or_404(Produto, nomecategoria__slugcatproduto = slugcategoria, slugproduto=slugproduto)
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainternaquadrada = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    
    return render_to_response('Scope/sub_shop.html',locals(),context_instance=RequestContext(request))

def busca(request):
    from django.db.models.query_utils import Q
    quante = 0
    if request.GET['buscap']!='' :
        ites = Noticias.objects.filter((Q(subtitulo__icontains = request.GET['buscap'])| Q(titulo__icontains = request.GET['buscap'])))
        if ites:
            quante = ites.count()
        c = Context({'itens_busca': ites, 'quant':quante, 'bus':request.GET['buscap']})
        return render_to_response('Scope/busca.html', locals() ,context_instance=RequestContext(request,c))


    return render_to_response('Scope/index.html', locals() ,context_instance=RequestContext(request,{'msg':'Por Favor, preencha pelo menos um campo de busca!'}))

def busca(request):
    ### Publicidades
    artigofooter = Noticia.objects.filter(nomecategoria__id = 5,publicar__icontains=1,manchete__icontains=0).order_by('-datapublicacao')[:3]
    blogfooter = NoticiaBlog.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:3]
    ilhainterna = Publicidade.objects.filter(ativo__exact='1',tipo__exact='7',dataentrada__lte=datetime.now(),datasaida__gte=datetime.now())[:1]
    ### FimPublicidades
    noticias = Noticia.objects.filter(publicar__exact='True',manchete__exact='0',datapublicacao__lte=datetime.now()).order_by('-datapublicacao')
    from django.db.models.query_utils import Q
    quante = 0
    if request.GET['buscap']!='':
        ites = Noticia.objects.filter((Q(subtitulo__icontains = request.GET['buscap'])| Q(titulo__icontains = request.GET['buscap'])))
        if ites:
            quante = ites.count()
        c = Context({'itens_busca': ites, 'quant':quante, 'bus':request.GET['buscap']})
        return render_to_response('Scope/busca.html', locals() ,context_instance=RequestContext(request,c))


    return render_to_response('Scope/index.html', locals() ,context_instance=RequestContext(request,{'msg':'Por Favor, preencha pelo menos um campo de busca!'}))

def paginanaoencontrada(request):
    noticias = Noticia.objects.all().order_by('-datapublicacao').filter(publicar__icontains=1)[:8]
    return render_to_response('Scope/404.html',locals(), context_instance=RequestContext(request))

def igrejas(request):
    listaigreja = Igreja.objects.all()
    return render_to_response('Scope/Igrejas/todasigreja.html',locals(),context_instance=RequestContext(request))

def igreja(request, slugigreja):
    nomedaigreja = get_object_or_404(Igreja, slugigreja=slugigreja)
    listaigreja = Congregacao.objects.filter(nomeIgreja=nomedaigreja)
    return render_to_response('Scope/Igrejas/igreja.html',locals(),context_instance=RequestContext(request))

def congregacao(request, slugigreja, slugcongregacao):
    nomedaigreja = get_object_or_404(Igreja, slugigreja=slugigreja)
    congra = get_object_or_404(Congregacao, slugcongregacao=slugcongregacao)
    return render_to_response('Scope/Igrejas/congregacao.html',locals(),context_instance=RequestContext(request))